/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.util.LinkedList;
import java.util.ListIterator;

/**
 *
 * @author Lenovo
 */
public class Artista {

    protected String id;
    protected String tipoId;
    protected String nombres;
    protected String apellidos;
    protected String genero;
    protected String nacionalidad;
    protected String correoElectronico;
    protected LinkedList<Obra> lasObras;

    public Artista(String id, String tipoId, String nombres, String apellidos, String genero, String nacionalidad, String correoElectronico) {
        this.id = id;
        this.tipoId = tipoId;
        this.nombres = nombres;
        this.apellidos = apellidos;
        this.genero = genero;
        this.nacionalidad = nacionalidad;
        this.correoElectronico = correoElectronico;
        lasObras = new LinkedList<Obra>();
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public String getCorreoElectronico() {
        return correoElectronico;
    }

    public void setCorreoElectronico(String correoElectronico) {
        this.correoElectronico = correoElectronico;
    }

    public String getGenero() {
        return genero;
    }

    public void setGenero(String genero) {
        this.genero = genero;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNacionalidad() {
        return nacionalidad;
    }

    public void setNacionalidad(String nacionalidad) {
        this.nacionalidad = nacionalidad;
    }

    public String getNombres() {
        return nombres;
    }

    public void setNombres(String nombres) {
        this.nombres = nombres;
    }

    public String getTipoId() {
        return tipoId;
    }

    public void setTipoId(String tipoId) {
        this.tipoId = tipoId;
    }

    public LinkedList<Obra> getLasObras() {
        return lasObras;
    }
    /**
     * metodo que busca una obra en la lista de obras de un autor
     * @param nombre,de la obra que se desea buscar
     * @return la obra si la encuentra de lo contrario null
     */
    public Obra buscarObra(String nombre) {
        ListIterator<Obra> iterador = lasObras.listIterator();
        while (iterador.hasNext()) {
            Obra ob = iterador.next();
            if (ob.getNombre().equalsIgnoreCase(nombre)) {
                return ob;
            }
        }
        return null;
    }
    /**
     * metodo que agrega una obra a la lista de obras de un autor
     * @param obra,que se desea agregar
     * @return una cadena diciendo si se agrego o no la obra
     */
    public String registrarObra(Obra obra) {
        Obra ob=buscarObra(obra.getNombre());
        if(ob==null){
            lasObras.add(obra);
            return "La obra ha sido registrada Exitosamente.";
        }else{
            return "La obra ya esta registrada.";
        }
    }
}
